package interfazeak;

import java.awt.BorderLayout;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Vector;

import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;

import laguntzaileak.Kutxa;

import db.BarietateaKud;

import Taulak.MTBBatu;



public class Batutakoa extends JDialog {
	private JTable table;
	private final JPanel contentPanel = new JPanel();
	private MTBBatu batutaula;
	private Mahastiak_Lekuak guraso;
	private Vector<Integer> kutxaktot;
	private Vector<Kutxa> kutxa;
	
	public static void main(String[] args) {
	try {
			final Boolean MODALA = true;
			
			
			int idl= 0;
			Batutakoa dialog = new Batutakoa(new Mahastiak_Lekuak(), MODALA,idl);
			dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
			dialog.setVisible(true);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	
	public Batutakoa(Mahastiak_Lekuak guraso, Boolean mODALA, int idLekua){
		this.guraso= guraso;
		
		setBounds(100, 100, 700, 102);
		setTitle("HISTORIALA");
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		contentPanel.setLayout(null);
		
		
		
		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(0, 0, 700, 102);
		contentPanel.add(scrollPane);
		
		table = new JTable();
		batutaula = new MTBBatu();
		table.setModel(batutaula);
		scrollPane.setViewportView(table);
		
		int i=0;
	
		SimpleDateFormat formateador = new SimpleDateFormat("yyyy");
		Date fechaDate = new Date();
		String fecha=formateador.format(fechaDate);
		int urtea = Integer.parseInt(fecha);
		while (i<5){
		kutxa = BarietateaKud.lortuBatutakoa(idLekua,i);
		kutxaktot = kutxaktotalean(kutxa);
		batutaula.kargatu(kutxaktot,urtea-i);
			i=i+1;
		}
		
	}


	private Vector<Integer> kutxaktotalean(Vector<Kutxa> kutxa) {
		
		Vector<Integer> emaitza = new Vector<Integer>();
		
		ResultSet rs = BarietateaKud.barietateakLortu();
		int badago=-1, i=0;
		try {
			while (rs.next()){
				String izena= rs.getString("izena");
				 badago = badagoBarietatea(kutxa,izena);
				
			

				 if (badago==-1){
					 emaitza.add(i,0);
				 }
				 else {
					 emaitza.add(i,badago);
				 }
				 i=i+1;
			}
		} catch (SQLException e) {
			
			e.printStackTrace();
		}
		return emaitza;
	}


	private int badagoBarietatea(Vector<Kutxa> kutxa, String izena) {
		
		int emaitza=-1, i=1;
		boolean urten=false;
	
		while (kutxa.size()>=i && urten == false){
			
	
			if (kutxa.elementAt(i-1).getIzena().equals(izena)){
				emaitza = kutxa.elementAt(i-1).getKutxak();
				urten = true;
			}
			i=i+1;
		}
		return emaitza;
	}


	

}